package com.yimi.policyservice.service;

import com.github.pagehelper.Page;
import com.yimi.policyservice.dto.optr.OptrComp4Create;
import com.yimi.policyservice.dto.optr.OptrCompAccountDto;
import com.yimi.policyservice.dto.optr.OptrCompDto;
import com.yimi.policyservice.dto.policyaddr.IdsBean;
import com.yimi.policyservice.entity.base.system.SysUser;

import java.util.List;

/**
 * @author jack
 */
public interface OptrCompService {

    /**
     * 创建服务公司
     * @param bean
     * @param loginUser
     * @return
     */
    OptrCompDto create(OptrCompDto bean, SysUser loginUser);

    void addCompanyAccount(List<OptrCompAccountDto> solicyAccounts);

    Page<OptrCompDto> search(String key, int type);

    List<OptrCompDto> findAll();

    List<OptrCompDto> findAllPermission(String userId);

    OptrComp4Create view(String id);

    void update(String id, OptrComp4Create bean,SysUser sysUser);

    int validateCompName(String id,Integer serviceType,String name);

    void delete(IdsBean bean);

    List<OptrCompAccountDto> findAccountByCompanyId(String id, int type);

    void checkAccount(String companyId, String accountId);
}
